﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SPDCMScanning.FileSystem.Helpers.Interfaces
{
    interface IFileHelper
    {
        /// <summary>
        /// Gets the content of a specific file as byte array.
        /// </summary>
        /// <param name="filePath">Path, which contains all the file.</param>
        /// <param name="fileName">The name of the file</param>
        /// <returns>byte[] array, containing the contents of the file</returns>
        byte[] ReadSingleFileAsByteArray(string filePath, string fileName);
        
        /// <summary>
        /// Gets the full path of all files in directory.
        /// </summary>
        /// <param name="direcorty">The direcorty.</param>
        /// <param name="filter">The filter.</param>
        /// <returns></returns>
        List<string> GetFullPathOfAllFilesInDirectory(string direcorty, string filter);

        /// <summary>
        /// Checks if file exists.
        /// </summary>
        /// <param name="fullPathToFile">The full path to file.</param>
        /// <returns></returns>
        bool CheckIfFileExists(string fullPathToFile);

        /// <summary>
        /// Gets the size of the file.
        /// </summary>
        /// <param name="fullPathToFile">The full path to file.</param>
        /// <returns></returns>
        long GetFileSize(string fullPathToFile);


        /// <summary>
        /// Gets or sets the <see cref="System.String"/> with the specified i.
        /// </summary>
        string this[int i] { get; set; }



    }
}
